Cleaned Up partially