Implemented logic that doesn't works :P