update conditionals and add methods