updating class structure and adding mirroring

Signed-off-by: Victor Porras <vporras@ymail.com>