feat(#36, #35, #33, #30, #38): new features and major improvements