implement missing methods