added more handlers
merged implementations