Lots of changes. Code is no longer ~as~ retarded.