redevelop business layer