implented 4a