add test project
clean API
add platform enum