fix bug #2 and #3