make some method public for easier extension