added Canable to other models (closes #35).
some refactoring.