nic is too lazy to clean up code himself