added more handlers, refactor in progress