removed weirdo constructor wrapping functions
merged conflicts