add Logic layer