added solver and behaviour tests