Working

merging working branch to master.