add factory method to immutable object
old scala fixes
patterns erlang version, initial commit