first commit

This is the first version. After reviewing I will implement unit tests for the component but first I want to have a stable code and API

@jmcanterafonseca please review?

Thanks