Still WIP, various changes.