cleaned up code, added vendor prefixes