What did you use as reference for your implementation?