code cleanup
added typeable