implemented missing methods