fix #3. work on #4.