converted to an hash, mixed feelings if it worth it as this code is executed often.