proper implementation of marks