implemented preference activity