Sounds good but a big task.
LINK