General update, better coding practices, more comments