no need complex class cpp