the basic system was pretty simple