update: add class for the base platform interface.