Implemented all interfaces