added multiple inheritance to selfish, including tests