refactory code
refactory code