Up to you! That being said: when learning, I typically suggest: * learn how to use existing things * learn how things are implemented * learn how to implement them yourself (from scratch) That way you can usually start from something that actually works, which was your whole struggle the past 2-3 days. But, everyone learns their own way :)