Added more base functions and functional requirement checking