ver 0.5 - almost finished