implement further api functions