crazy implementation of strings