Add comments, slight cleanup, needs more...