First pass at data driven levels and misc bug fixes