Choosing implementation added + Straight Agent implemented