First commit with basic implementation that doesnt work right