changed / cleaned up runtime method, arguably better now, definitely looks better