test more things and fix bug