added some optionals, after hw deadline