some minor comments, needs a lot more