bonus points for better indentation (iNecas the nitpicker:)