some java things (enum State instead Condition