first version

completed assignment