frame can be negative