Massive commit, many changes. Version 0.3