close #51 add init function