get base logic down