refatoring 1