Setup system

Close #11 close #6 close #12