Software processors