better to have explicit versions