Create subpackages, add #17, #21, #23  features