first commit. structure + general logic