0.2-alpha, all refactored