asssignment_2 stuff