pushed computation functionality to the utils model