first

refactory code