first commit all codes