reformatted & cleaned up