removed some unnecessary boilerplate