added a full tutorial and function ref