Initial commit

Added the base class, untested yet.