All functionality and background added