implements interface of core