addressing #10. still need to test