Version 0.5 - many changes... lazy enough not to do micro commits