use merge instead of object.create()