initial implementation
avoid warning