added a bit more self-explantory q1