[feature] 1. impement main function