- finish initial version