Some changes were added. Code became clearlier than previous