style updates, use instancetype where possible