cstyle functional