add underscore
strategy and main api methods, needs tests