use macro to simplify class bind
add new files
change project setting