#6 Add base logic