removed module interface, renamed to singleton