added major function updates