almost almost finished; working on cosmetics
final version of assignment