cleaned up some comments and added a couple new ideas