as same as above. Please make it DRY.