many changes
basic.hpp => basic.[h|cpp]