homework #2 version 1.0 (in progress)