added optimist
half ready, broken