change implementation for 4b