implement skip/offset
char should be more efficient for appending