return type do add info (void vs dynamic)