Author: Sebastian Pawlak Year: 2019 Note: requires BASIC