improved object definitions