revert to previous method; fix bug;