when concat added - still need to work on arguments + enums to switch (returns & throws) + adding comments + autoloading and seperating files + tests