reorganize hierarchical defmodule structure
add script for testing on iex
fix sample
fix tags to return comma separated string