add platform
add platformFactory
add character(need to rewrite)