Adding Rough Version. Will clean later