cleaned up APIs