extending activemodel doesn't quite work