removed some boilerplate code