Please don't merge yet. I am still trying to figure some things out.