class constructor can take arguments
refine create_buffer()
refine View
add abs_path()