Modularised code, add events only binds events(used callback fns
)