Refactored and added git ignore