some hints for cmput 551