write multiple implemented.