first commit. some preparation work.