implement toupper and tolower for return to arms
extra logging for semaphore creation
protect against -ve indices ... -1 is passed when a semaphore alloc fails for example