an Erlang miniframework