Cleaned up API