improved the whole application