separated view from source code