trying to get rid of some boilerplate