updated with new client interfacing and handler framework