Method could be ready for some more work :P