Implemented main interface