solutions to 1 and 2 seem to be complete