tidying up API