Added most of the behavior for verification