custom data types (toward better MVC)
cleanup