better active model interface