Spiltting out notion to seperate modules