indentation should be cleaned up some here