Added various modes, layouts, selector, implementation of data