AP Lab1, added pre-checks, not yet complted