ridded of some boilerplate