Many changes, forgot to commit for a while