copied for markup