initial implementation

implement same tree