a few changes to support absolute positioning