update calculation algorithms