start to implement gosu