adding better handler
add strategy factory pattern