main func + calc func