Updated with various changes