Partially implemented.
Solved point 3 and 4 of original message.