preferences implemented. with one known bug

Signed-off-by: Floyd Pink <imbleedingme@googlemail.com>