added some object definitions
better gitignore definitions
added main and makefile