abstract out timeline view for any user