split internal stuff into header and source - still one issue with dupe symbol