all handlers moved to model static methods