Getting Started with Lazarus and Free Pascal: A beginners and intermediate guide to Free Pascal using Lazarus IDE