lots of changes. early alpha version.