first commit; simple interface for share instance; a lot work to do >_<