first draft 0.3 with small update